import http from './http.js';

/**
 * 进行ocr识别
 * @param image	要识别的图片
 * @param imageType	识别的图片类型 身份证
 * @param idCardSide 如果imageType=idCard，说明是身份证识别，这时候要传这个参数来定于是正面还是反面，front：身份证含照片的一面；back：身份证国徽的一面
 * @param iocrType iocr选用的模板  modify 20200303 liaoyongming
 * @returns	返回识别的结果
 */
const baiduOCr = (options) => {

  //构建要提交的参数
  var data = {
    "imageType": options.imageType,
    "iocrType": options.iocrType
  };
  //获取要识别的图片
  var filePath = options.filePath;
  if (filePath == null || filePath == "") {
    //$.messager.show({ title: '提示', msg: "图片不可为空" });
    return false;
  }
  setTimeout(()=>{
    wx.showLoading({
      title: '图片识别中...',
    })
  },500)

  if (options.imageType == "P1") {
    //判断是否要识别的是否为身份证信息
    var id_card_side = options.idCardSide;
    if (id_card_side == null) {
      //如果要是被的身份证正反面信息为空，则默认为识别正面
      id_card_side = "front";
    }
    data.idCardSide = id_card_side;
  }
  http.upload({
    url: '/ocr/wxImageRecognition',
    data: data,
    filePath: filePath,
    fileKey: 'image',
    success: function(res) {
      console.log(res)
      wx.hideLoading();
      if (res === null || res.words_result_num === 0) {
        wx.showModal({
          content: "识别失败",
          showCancel: false
        });
        return false;
      }
      if (options.imageType == "P1") {
        if (res.image_status != "normal") {
          wx.showModal({
            content: "识别失败" + res,
            showCancel: false
          });
          return false;
        }
      }
      if (res.error_code != null && res.error_code == 216202) {
        wx.showModal({
          content: "识别失败,图片过大，请勿上传原图！",
          showCancel: false
        });
        return false;
      }
      //20200303 liaoyongming 处理识别iocr模板报错
      if (res.error_code != null && res.error_code == 216201) {
        wx.showModal({
          content: "识别失败,图片格式错误！",
          showCancel: false
        });
        return false;
      }
      //正常识别
      if (options.imageType == 'iocr') {
        res = res.data;
      } else {
        res = res.words_result;
      }
      console.log(res)
      //调用传入的回调函数
      if (options.success) {
        options.success(res);
      }

    },
    error: function(res) {
      wx.hideLoading();
      wx.showModal({
        content: "识别失败",
        showCancel: false
      });
      if (options.error) {
        options.error(res);
      }
    }
  });
}

module.exports = {
  baiduOcr: baiduOCr
}